public class Test {

    /*
    * 双指针：快乐数
    * */
    public static void main(String[] args) {
        int n = 2;
        System.out.println(isHappy(n));
    }

    public static int bitSum(int n){
        int sum = 0;
        while(n > 0){
            int t = n % 10;
            sum += t * t;
            n /= 10;
        }
        return sum;
    }


    public static boolean isHappy(int n){
        int slow = n;
        int fast = bitSum(n);
        while(slow != fast){
            slow = bitSum(slow);
            fast = bitSum(bitSum(fast));
        }
        return slow == 1;
    }

}
